1. Field of the Invention
The present invention relates to computers, and more specifically, to a virtual tape library cluster.
2. Description of Background
A virtual tape library (VTL) is a data storage virtualization technology used typically for backup and recovery purposes. A VTL presents a storage component (usually hard disk storage) as tape libraries or tape drives for use with existing backup software.
Virtualizing the disk storage as tape allows integration of VTLs with existing backup software and existing backup and recovery processes and policies. The benefits of such virtualization include storage consolidation and faster data restore processes.
A virtual tape library cluster is a group of linked computers, including a processor device, working together closely thus in many respects forming a single computer. The components of a cluster are commonly, but not always, connected to each other through fast local area networks. Clusters are usually deployed to improve performance and availability over that of a single computer, while typically being much more cost-effective than single computers of comparable speed or availability.
According to the prior art backup architecture 100 depicted in FIG. 1A, a backup server 102 has a backup application 104 that uses tape drives 122, 124, 126, 128 to read/write data from/to tape cartridges.
The tape drives are typically connected to the backup server through a storage area network, which may include one or more SAN-Switches 120. The connection to the SAN is provided via Host Bus Adapters (HBAs) 116, 118. To make the tape drives usable for the backup application, a tape device driver 114 creates tape drive paths 106, 108, 110, 112 which provide access to tape drives 122, 124, 126, 128 for backup application 104. The tape device driver 114 coordinates all I/O commands to the tape drives. Each tape drive path uniquely points to one tape drive. A tape drive might be either a physical tape drive or be a virtual tape drive emulated within a virtual tape library.
In a prior art backup architecture there can exist a plurality of physical connections between a backup server 102 and the SAN-Switches 120 as well as a multiple of physical connections between tape drives and a SAN-Switch. Upon these physical connections, logical paths may be defined via SAN-zoning. One SAN-Zone may for example consist of HBA 116 and tape drive 122. Therefore tape drive path 106 may be the logical path from HBA 116 and tape drive 122.
There can be multiple paths defined from a backup server 102 to a tape drive 122. One path may be from HBA 116 to drive 122 and another may be from HBA 118 to drive 122.
Multiple paths to a tape drive are used for enabling path failover. With path failover enabled, the tape device driver 114 recognizes that a tape drive is reachable via multiple paths. Therefore one primary and multiple alternate paths are defined for one tape drive within the tape device driver. If the primary path is lost, the tape device driver will switch over to an alternating path.
The tape device driver is also capable of monitoring the load on the HBAs and will perform load-balancing. This means if backup application 104 starts jobs on both tape drive paths 106 and 108, the device driver will check which HBA has less load and process the job via this HBA (if a logical path is known via this HBA).
As stated above, a backup application is typically aware of tape drives in form of tape drive paths 106, 108, 110 and 112. When a backup application wants to write or read to/from a tape, it uses a free tape drive path and requests to mount the cartridge into that drive. The tape device driver then effectively forwards the requests to that tape drive. If the tape device driver has load-balancing capabilities and has access to a tape drive via different paths, the device driver uses the more efficient path.
Prior art architecture 100 works fine for physical tape drives, but for a clustered virtual tape library like shown in architecture FIG. 1 B there are some significant shortcomings. A clustered virtual tape library 201 comprises a virtual library system 220 representing virtual tape resources 222, 224, 226, 228 on more than one cluster nodes 202, 204. The cluster nodes represents a cluster of computing systems which perform the functions of a virtual tape library such as representing virtual tape resources in a cluster. Virtual library system 220 is accessible by all cluster nodes running the virtual tape library system. Each cluster-node has VLT-HBA's 210 and 212 for cluster-node 202; VTL-HBA's 214 and 216 for cluster-node 204. Each virtual tape resource is associated with one cluster node and can be accessed from the application 104 via the communication network represented by the server HBA's 116 and 118, SAN switch 120 and VTL-HBA's 210, 212, 214 and 216.
As stated above, each tape drive path is uniquely linked to a tape drive, for Example: 106 with 222, 108 with 224, 110 with 226, 112 with 228. The backup application chooses tape drive paths on a pre-defined algorithm. As the backup application is not aware, which virtual tape resources are on which cluster-nodes, the application may choose two tape drive paths by chance. In a good scenario, the application may choose tape drive path 106 and 110, which address virtual drive 222 on cluster nodes 202 and virtual drive 226 on cluster-node 204, which balances the load on the cluster nodes 202 and 204. In a worst case scenario, the backup application may choose tape drive paths 106 and 108, which address virtual drives 222 and 224 residing on the same cluster node 202. The result will be a high load on the cluster node 202, while cluster node 204 is running idle.
The shortcoming is, that the backup application is not aware, on which cluster node a certain virtual drive is configured within the VTL and which VTL-cluster node has actual the lowest load. This effectively may impact performance, because a load-balancing between the cluster nodes is not possible according to prior art. Thus a system and method is needed that performs load-balancing based on the utilization of the VTL cluster-nodes and VTL-HBA.
Another shortcoming is that there is no high-availability in such prior art solution. If, for example, a tape device path to a virtual tape drive fails then this virtual tape drive can no longer be used which causes an error to be reported to the application. Accordingly, a system and method is needed that provides high availability and automated failover to a different tape path if one tape path fails.